| Установка на Linux | ||
|---|---|---|
| Установка на Linux | 
                Установка Docker1 вариант (Edge):curl -sSL https://get.docker.com/ | sh2 вариант:Скрипт для установки на Linux: http://get.docker.com Копируем  sh get-docker.shДобавить Docker в группуsudo usermod -aG docker effectiveuser whoami Проверка установки:docker version || sudo docker version Нужно залогиниться:docker login
                Ввести логин и пароль от Docker Hub  | 
              Docker-Docs  Docker контейнер - это не ВМ, это процесс который запускается в фоне  | 
            
| 3 вариант (c docker-compose) | sh install.sh | 
              install.sh | 
| Docker-machine | 
                  Установка docker-machinehttps://github.com/docker/machine/releases ... выбрать последний релиз ... ... скопировать скрипт ... ... sudo -i и установить скрипт... docker-machine -v
                 | 
                Docs: https://docs.docker.com/machine/install-machine/ | 
| Docker-compose | 
                  Установка docker-composehttps://github.com/docker/compose/releases ... выбрать последний релиз ... ... скопировать скрипт ... ... sudo -i и установить скрипт... docker-compose -v
                 | 
                Docs: https://docs.docker.com/compose/install/ | 
| Установка на Windows | ||
| Установка на Windows | Устанавливаем Docker-Desktop CE для Windows Docker-desktop.
               Параметры виртуализации настраиваются в программе Hyper-V Manager Устанавливаем Docker-toolbox doc ker-machine startdocker-machine env defaultdocker-machine env default | 
              Для работы в Windows Docker требует поддержку виртуализации. Включается в настройках BIOS | 
| Установка на Mac OS | ||
| Установка на Mac OS | Download desktop app bash-completionbrew install bash-completion sudo curl -L https://raw.githubusercontent.com/docker/machine/v0.16.0/contrib/completion/bash/docker-machine.bash -o `brew --prefix`/etc/bash_completion.d/docker-machine docker Tab x2
               | 
              |
| Запуск контейнеров | ||
Контейнер-сервер | 
              
                sudo docker run --name docker-nginx -p 80:80 nginx docker run nginx - какой контейнер создаем и запускаем (будет скачан с DockerHub) Будет присвоен uniq id --name docker-nginx - кастомное имя, которое мы присваиваем контейнеру-p 80:80 - порт (localhost или 0.0.0.0:80) Запуск в фоне (флаг -d)sudo docker run --name docker-nginx -p 80:80 --detach (-d) nginxСписок запущенных контейнеров (всех):docker container ls (-a)docker ps (-a)Запуск\остановка контейнера:docker container run\stop CONTAINER_IDУдаление контейнера:Запущенный контейнер можно удалить только с  docker container rm CONTAINER_ID docker container rm -f CONTAINER_IDЛоги:docker container logs cont_name
                Набор контейнеров для веб-сервера
 Как зайти в запущенный контейнер через терминалdocker container exec -it cont_name bash
               | 
              
                Когда запускаем команду run container
                
 ps aux - список запущенных процессов
               | 
            
Образ(image) | 
              Много контейнеров может лежать в образе | http://hub.docker.com/ - репозитории для docker-образов | 
| Docker-команды | ||
| Список комманд | docker | 
              |
| Шаблон | docker <command> <sub-command> (options) | 
              |
| Информация | docker info | 
              |
| Добавить группу и пользователя | 
                // добавить группу
                sudo groupadd docker
                // добавить пользователя в группу
                sudo usermod -aG docker username
                // узнать username
                sudo whoami
               | 
              |
| Посмотреть образы и/или контейнеры | 
                // запущенные
                docker ps
                // установленные
                docker ps -a
                // посмотреть только образы
                docker image ls (--all)
                // посмотреть только контейнеры
                docker container ls (--all)
               | 
              NAMES - имена контейнеров | 
| Запустить указанные контейнеры | 
                docker start cont_name1 cont_name2
               | 
              |
| Остановить контейнеры | 
                docker stop cont_name1 cont_name2
                // остановить все 
                docker stop $(docker ps -q)
               | 
              |
| Перезапуск docker | docker service docker restart | 
              |
Real use on projects | 
              
                docker stop $(docker ps -q -a)docker rm -fdocker-compose pulldocker-compose up -d | 
              
                
  |